package task;

public class TaskThird {
    public static String formatString(String input, String[] params) {
        StringBuilder result = new StringBuilder();
        //使用StringBuider来修改字符串
        int paramIndex = 0;//参数数组的索引
        //遍历原字符串
        for (int i = 0; i < input.length(); i++) {
            //如果当前位置是%s，则替换为参数数组中的对应的字符串
            if (input.charAt(i) == '%' && i + 1 < input.length() && input.charAt(i + 1) == 's') {
                //将参数添加到结果中
                result.append(params[paramIndex]);
                //跳过下一个字符，因为它已经被认为是%s的一部分
                i++;
                //移动到下一个常数
                paramIndex++;
            } else {
                //如果不是%s，则直接当前字符添加到结果中
                result.append(input.charAt(i));
            }
        }
        //如果参数数组中有剩余的参数，则将他们添加到结果字符串的末尾
        for (int i = paramIndex; i < params.length; i++) {
            result.append(params[i]);
        }
        return result.toString();

    }

    public static void main(String[] args) {
        String input = "A%sC%sE";
        String[] params = {"B","D","F"};
        String ouput = formatString(input,params);
        System.out.printf(ouput);

    }
}


